package py.edu.ucom.cadira.game.war;

import java.util.List;
import org.jdom.Element;

/**
 * 
 * @author largonet
 * 
 */
public class Movement {
    private Square origen;
    private Square destino;

    public Movement() {
        origen = new Square();
        destino = new Square();
    }
    public Square getOrigen() {
        return origen;
    }
    public void setOrigen(Square origen) {
        this.origen = origen;
    }
    public Square getDestino() {
        return destino;
    }
    public void setDestino(Square destino) {
        this.destino = destino;
    }
    public void toXml(Element moveNode) {
        Element fichaOrigenNode = new Element("ficha");
        this.origen.getTab().toXml(fichaOrigenNode);
        this.origen.toXml(fichaOrigenNode);
        moveNode.addContent(fichaOrigenNode);
        Element fichaDestinoNode = new Element("ficha");
        this.destino.getTab().toXml(fichaDestinoNode);
        this.destino.toXml(fichaDestinoNode);
        moveNode.addContent(fichaDestinoNode);
    }
    @SuppressWarnings("unchecked")
    public Movement fromXml(Element moveNode) {
        List<Element> fichaNode = moveNode.getChildren("ficha");
        Element fichaOrigenNode = fichaNode.get(0);
        Tab fichaOri = new Tab();
        this.origen.setTab(fichaOri.fromXml(fichaOrigenNode));
        this.setOrigen(origen.fromXml(fichaOrigenNode));
        Element fichaDestinoNode = fichaNode.get(1);
        Tab fichaDes = new Tab();
        this.destino.setTab(fichaDes.fromXml(fichaDestinoNode));
        this.setDestino(destino.fromXml(fichaDestinoNode));
        return this;
    }
}